package com.sup.purchase.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.sup.common.annotation.Excel;
import com.sup.common.core.domain.BaseEntity;

/**
 * 进货对象 purchase_table
 * 
 * @author ruoyi
 * @date 2025-06-24
 */
public class PurchaseTable extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 进货单号（要求与供应商的单号一致，方便核实，定义：超市字母简称+供应商字母简称+商品id+年月日时分秒 */
    @Excel(name = "进货单号", readConverterExp = "进货单号（要求与供应商的单号一致，方便核实，定义：超市字母简称+供应商字母简称+商品id+年月日时分秒")
    private String purOrderNumber;

    /** 进货商id */
    @Excel(name = "进货商id")
    private Long purSupplierId;

    /** 进货单价价格 */
    @Excel(name = "进货单价价格")
    private BigDecimal purUnitPrice;

    /** 供应商接应人员姓名 */
    @Excel(name = "供应商接应人员姓名")
    private String purSupplierContactName;

    /** 进货日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "进货日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date purDate;

    /** 进货的商品id */
    @Excel(name = "进货的商品id")
    private Long purProductId;

    /** 进货的数量 */
    @Excel(name = "进货的数量")
    private Integer purQuantity;

    /** 进货人员id */
    @Excel(name = "进货人员id")
    private Long purBuyerId;

    /** 进货车辆车牌号 */
    @Excel(name = "进货车辆车牌号")
    private String purVehiclePlate;

    /** 进货路线 */
    @Excel(name = "进货路线")
    private String purRoute;

    /** 进货到达哪个仓库id */
    @Excel(name = "进货到达哪个仓库id")
    private Long purWarehouseId;

    /** 仓库接收负责人id */
    @Excel(name = "仓库接收负责人id")
    private Long purWarehouseReceptionistId;

    /** 进货是否完成（记录是否发生意外,0发生意外不能完成，1安全完成 */
    @Excel(name = "进货是否完成", readConverterExp = "进货是否完成（记录是否发生意外,0发生意外不能完成，1安全完成")
    private Long purPurchase;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date purCreationTime;

    /** 创建人员id */
    @Excel(name = "创建人员id")
    private Long purCreatorId;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date purModificationTime;

    /** 修改人员id */
    @Excel(name = "修改人员id")
    private Long purModifierId;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setPurOrderNumber(String purOrderNumber) 
    {
        this.purOrderNumber = purOrderNumber;
    }

    public String getPurOrderNumber() 
    {
        return purOrderNumber;
    }
    public void setPurSupplierId(Long purSupplierId) 
    {
        this.purSupplierId = purSupplierId;
    }

    public Long getPurSupplierId() 
    {
        return purSupplierId;
    }
    public void setPurUnitPrice(BigDecimal purUnitPrice) 
    {
        this.purUnitPrice = purUnitPrice;
    }

    public BigDecimal getPurUnitPrice() 
    {
        return purUnitPrice;
    }
    public void setPurSupplierContactName(String purSupplierContactName) 
    {
        this.purSupplierContactName = purSupplierContactName;
    }

    public String getPurSupplierContactName() 
    {
        return purSupplierContactName;
    }
    public void setPurDate(Date purDate) 
    {
        this.purDate = purDate;
    }

    public Date getPurDate() 
    {
        return purDate;
    }
    public void setPurProductId(Long purProductId) 
    {
        this.purProductId = purProductId;
    }

    public Long getPurProductId() 
    {
        return purProductId;
    }
    public void setPurQuantity(Integer purQuantity) 
    {
        this.purQuantity = purQuantity;
    }

    public Integer getPurQuantity() 
    {
        return purQuantity;
    }
    public void setPurBuyerId(Long purBuyerId) 
    {
        this.purBuyerId = purBuyerId;
    }

    public Long getPurBuyerId() 
    {
        return purBuyerId;
    }
    public void setPurVehiclePlate(String purVehiclePlate) 
    {
        this.purVehiclePlate = purVehiclePlate;
    }

    public String getPurVehiclePlate() 
    {
        return purVehiclePlate;
    }
    public void setPurRoute(String purRoute) 
    {
        this.purRoute = purRoute;
    }

    public String getPurRoute() 
    {
        return purRoute;
    }
    public void setPurWarehouseId(Long purWarehouseId) 
    {
        this.purWarehouseId = purWarehouseId;
    }

    public Long getPurWarehouseId() 
    {
        return purWarehouseId;
    }
    public void setPurWarehouseReceptionistId(Long purWarehouseReceptionistId) 
    {
        this.purWarehouseReceptionistId = purWarehouseReceptionistId;
    }

    public Long getPurWarehouseReceptionistId() 
    {
        return purWarehouseReceptionistId;
    }
    public void setPurPurchase(Long purPurchase) 
    {
        this.purPurchase = purPurchase;
    }

    public Long getPurPurchase() 
    {
        return purPurchase;
    }
    public void setPurCreationTime(Date purCreationTime) 
    {
        this.purCreationTime = purCreationTime;
    }

    public Date getPurCreationTime() 
    {
        return purCreationTime;
    }
    public void setPurCreatorId(Long purCreatorId) 
    {
        this.purCreatorId = purCreatorId;
    }

    public Long getPurCreatorId() 
    {
        return purCreatorId;
    }
    public void setPurModificationTime(Date purModificationTime) 
    {
        this.purModificationTime = purModificationTime;
    }

    public Date getPurModificationTime() 
    {
        return purModificationTime;
    }
    public void setPurModifierId(Long purModifierId) 
    {
        this.purModifierId = purModifierId;
    }

    public Long getPurModifierId() 
    {
        return purModifierId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("purOrderNumber", getPurOrderNumber())
            .append("purSupplierId", getPurSupplierId())
            .append("purUnitPrice", getPurUnitPrice())
            .append("purSupplierContactName", getPurSupplierContactName())
            .append("purDate", getPurDate())
            .append("purProductId", getPurProductId())
            .append("purQuantity", getPurQuantity())
            .append("purBuyerId", getPurBuyerId())
            .append("purVehiclePlate", getPurVehiclePlate())
            .append("purRoute", getPurRoute())
            .append("purWarehouseId", getPurWarehouseId())
            .append("purWarehouseReceptionistId", getPurWarehouseReceptionistId())
            .append("purPurchase", getPurPurchase())
            .append("purCreationTime", getPurCreationTime())
            .append("purCreatorId", getPurCreatorId())
            .append("purModificationTime", getPurModificationTime())
            .append("purModifierId", getPurModifierId())
            .toString();
    }
}
